package day02;

/**
 * 位运算符：
    与(&)、或(|)、异或(^)、取反(~)、左移(<<)、右移(>>)、无符号右移(>>>)
    位运算就是二进制的运算。

 */
public class OperatorDemo4 {
    public static void main(String[] args) {
        //&,|,^,~
		System.out.println(3 & 4); //0
		System.out.println(3 | 4); //7
		System.out.println(3 ^ 4); //7
		System.out.println(~3); //

        // 1.计算3，4的二进制：
        // 3的二进制：00000000 00000000 00000000 00000011
        // 4的二进制：00000000 00000000 00000000 00000100
        // 1.位&运算：有0则0
        //  00000000 00000000 00000000 00000011
        // &00000000 00000000 00000000 00000100
        // -------------------------------------
        //  00000000 00000000 00000000 00000000
        // 2.位|运算：有1则1
        //  00000000 00000000 00000000 00000011
        // |00000000 00000000 00000000 00000100
        // -------------------------------------
        //  00000000 00000000 00000000 00000111
        // 3.位^运算：相同则0，不同则1
        //  00000000 00000000 00000000 00000011
        // ^00000000 00000000 00000000 00000100
        // -------------------------------------
        //  00000000 00000000 00000000 00000111
        // 4.位~运算：把数据每个位都按位取反
        //  00000000 00000000 00000000 00000011
        // ~11111111 11111111 11111111 11111100
        //反 
    }
}
